define("cart",["jquery","jquery.cookie"],function(){
    return{
        //加载购物车
        load:function (fn) {
            //登录状态下
                   if(sessionStorage.getItem("oluser")){
                       $.ajax({
                           url:"php/loadlist.php?a="+Math.random(),
                           type:"post",
                           data:{
                               uid:JSON.parse(sessionStorage.getItem("oluser")).u_id
                           }
                       }).then(function (res) {
                           loadlist(res,fn)

                       })
                       //未登录状态下
           } else{
                var cartarr=JSON.parse(sessionStorage.getItem("cart")||"[]")
                    loadlist(cartarr,fn)
           }
           //加载方法
           function loadlist(arr,fn) {
               $("tbody").html("")
               for(var i=0;i<arr.length;i++){
                   $(`<tr>
                        <td>
                            <div class="checkinput"><input type="checkbox"></div>
                            <div class="cpath">
                                <img src="${arr[i].c_path}" alt="">
                            </div>
                        </td>
                        <td>
                            <div class="cname">
                            ${arr[i].c_name}
                               </div>
                            <div class="cdoes">
                                ${arr[i].c_does}
                            </div>
                        </td>
                        <td>
                            ￥<span>${arr[i].c_price}</span>
                        </td>
                        <td><div class="quantity">
                            <a href="javascript:;" class="decrease">-</a>
                            <input type="text" value="${arr[i].c_num}">
                            <a href="javascript:;" class="increase">+</a>
                        </div></td>
                        <td>
                            ￥${arr[i].c_num*arr[i].c_price}.0</td>
                        <td><a href="javascript:;" class="remove">删除</a></td>
                    </tr>`).appendTo($("tbody"))
               }
               if($("tbody").html()==""){
                    $(".cart").hide()
                   $(".smallpage").show()

               }else{
                   $(".cart").show()
                   $(".smallpage").hide()
               }
               if($("tbody").children("tr").length>=3){
                   $(".settlement").removeClass("settlement").addClass("fixed")
               }else{
                   $(".fixed").removeClass("fixed").addClass("settlement")
               }
               if(fn){
                   fn.call()
               }

           }
        },
        //求和操作
        Major:function () {
            var self=this
            //全选
            $("#all").on("click",function () {
                $(".checkinput input").prop("checked",$("#all").prop("checked"))
                self.getsum()
            })
            //减号键
            $("tbody").on("click",".decrease",function () {


                if($(this).siblings("input").val()>=2){
                    $(this).siblings("input").val($(this).siblings("input").val()-1)
                }
                self.getsum()
                $(this).parents("tr").children("td").eq(4).text("￥"+$(this).siblings("input").val()*$(this).parents("tr").children("td").eq(2).children("span").text()+".0")
                //登录状态下
                var cname=$(this).parents("tr").find(".cname").text().trim()
                var num=parseInt($(this).siblings("input").val())
                if(sessionStorage.getItem("oluser")){

                    $.ajax({
                        url:"php/setnum.php",
                        type:"post",
                        data:{
                            uid:JSON.parse(sessionStorage.getItem("oluser")).u_id,
                            cname:cname,
                            num:num
                        }
                    })
               //未登录
                }else{
                    var cartarr=JSON.parse(sessionStorage.getItem("cart"))
                    for(var i=0;i<cartarr.length;i++){
                        if(cartarr[i].c_name==cname){
                            cartarr[i].c_num=num
                            break
                        }
                    }
                    sessionStorage.setItem("cart",JSON.stringify(cartarr))
                }
            })
            //加号键
            $("tbody").on("click",".increase",function () {
                if($(this).siblings("input").val()<=999){
                    $(this).siblings("input").val(parseInt($(this).siblings("input").val())+1)
                }
               self.getsum()
                $(this).parents("tr").children("td").eq(4).text("￥"+$(this).siblings("input").val()*$(this).parents("tr").children("td").eq(2).children("span").text()+".0")
                var cname=$(this).parents("tr").find(".cname").text().trim()
                var num=parseInt($(this).siblings("input").val())
                if(sessionStorage.getItem("oluser")){

                    $.ajax({
                        url:"php/setnum.php",
                        type:"post",
                        data:{
                            uid:JSON.parse(sessionStorage.getItem("oluser")).u_id,
                            cname:cname,
                            num:num
                        }
                    })
                    //未登录
                }else{
                    var cartarr=JSON.parse(sessionStorage.getItem("cart"))
                    for(var i=0;i<cartarr.length;i++){
                        if(cartarr[i].c_name==cname){
                            cartarr[i].c_num=num
                            break
                        }
                    }
                    sessionStorage.setItem("cart",JSON.stringify(cartarr))
                }
            })
            //勾选
            $("tbody").on("click",".checkinput input",function () {
              self.getsum()
            })
            //输入框
            $("tbody").on("input",".quantity input",function () {
                if(parseInt($(this).val())==0||$(this).val()==""){
                    $(this).val(1)
                }
                if($(this).val().length>3){
                    alert("您买这么多化妆品当饭吃?")
                    $(this).val(1)
                }
                var numreg=/^[0-9]+$/
                if(numreg.test($(this).val())){
                    var cname=$(this).parents("tr").find(".cname").text().trim()
                    var num=$(this).val()
                    self.getsum()
                    //登录
                    if(sessionStorage.getItem("oluser")){

                            $.ajax({
                                url:"php/setnum.php",
                                type:"post",
                                data:{
                                    uid:JSON.parse(sessionStorage.getItem("oluser")).u_id,
                                    cname:cname,
                                    num:num
                                }
                            })
                        //未登录
                    }else{
                        var cartarr=JSON.parse(sessionStorage.getItem("cart"))
                        for(var i=0;i<cartarr.length;i++){
                            if(cartarr[i].c_name==cname){
                                cartarr[i].c_num=num
                                break
                            }
                        }
                        sessionStorage.setItem("cart",JSON.stringify(cartarr))
                    }
                }else{
                    alert("请输入数字")
                    $(this).val(1)
                }
                $(this).parents("tr").children("td").eq(4).text("￥"+$(this).val()*$(this).parents("tr").children("td").eq(2).children("span").text()+".0")
            })
        },
        //清除商品
        remove:function () {
            var self=this
            //清空购物车
            $(".removeall").on("click",function () {
                if(sessionStorage.getItem("oluser")){
                    $.ajax({
                        url:"php/removeall.php",
                        typr:"post",
                        data:{
                            uid:JSON.parse(sessionStorage.getItem("oluser")).u_id
                        }

                    }).then(function () {
                        self.load()
                        self.getsum()
                    })
                }else{
                    sessionStorage.removeItem("cart")
                    self.load()
                    self.getsum()
                }

            })
            //结账
            $(".box2 button").on("click",function () {
                if(sessionStorage.getItem("oluser")){
                    var mark=parseInt($(".sprice strong span").text()/100)
                    $.ajax({
                        url:"php/addmark.php",
                        type:"post",
                        data:{
                            mark:mark,
                            uid:JSON.parse(sessionStorage.getItem("oluser")).u_id
                        }
                    }).then(function () {
                        var falg=false
                        $(".checkinput input").each(function (index,ele) {

                            if($(ele).prop("checked")){
                                falg=true
                                $.ajax({
                                    url:"php/remove.php",
                                    type:"post",
                                    data:{
                                        c_name:$(ele).parents("tr").children("td").eq(1).children(".cname").text().trim(),
                                        uid:JSON.parse(sessionStorage.getItem("oluser")).u_id
                                    }
                                })

                            }
                            if(falg){
                                if(index==$(".checkinput input").length-1){
                                    if(confirm("结账成功!是否继续购物")){
                                            window.location="index.html"
                                    }else{
                                        self.load(function () {
                                            self.getsum()
                                        })
                                    }


                                }
                            }

                        })
                    })
                }else{
                    alert("请先登录!")
                }
                return false
            })
            //删除
            $("tbody").on("click",".remove",function () {
                $(this).parents("tr").remove()
                if(sessionStorage.getItem("oluser")){
                    $.ajax({
                        url:"php/remove.php",
                        type:"post",
                        data:{
                            c_name:$(this).parents("tr").children("td").eq(1).children(".cname").text().trim(),
                            uid:JSON.parse(sessionStorage.getItem("oluser")).u_id
                        }
                    }).then(function () {
                            self.load()
                            self.getsum()
                    })
                }else{
                    var cartobjs=JSON.parse(sessionStorage.getItem("cart")||"[]")

                    var c_name=$(this).parents("tr").children("td").eq(1).children(".cname").text().trim()
                    for(var i=0;i<cartobjs.length;i++){
                        if(c_name==cartobjs[i].c_name.trim()){
                       cartobjs.splice(i,1)
                            break

                        }

                    }
                    sessionStorage.setItem("cart",JSON.stringify(cartobjs))
                        self.getsum()
                    self.load()


                }

            })
        },
        //求和方法
        getsum:function () {
        var flag=true
        var snum=0
        var sprice=0
        $(".checkinput input").each(function (index,ele) {
            if($(ele).prop("checked")){

                snum+=parseInt($(ele).parents("tr").children("td").eq(3).children().children("input").val())
                sprice+=$(ele).parents("tr").children("td").eq(3).children().children("input").val()*$(ele).parents("tr").children("td").eq(2).children("span").text()
            }else{
                flag=false
            }
        })

        $("#all").prop("checked",flag)
        $(".snum span").text(snum)
        $(".sprice strong span").text(sprice)
    }
    }
})